package com.sjp.myspring.context;

import com.sjp.myspring.beans.factory.JPBeanFactory;
import com.sun.istack.internal.Nullable;

import java.util.Properties;

public interface JPApplicationContext extends JPBeanFactory{
    /**
     * Return the unique id of this application context.
     * @return the unique id of the context, or {@code null} if none
     */
    @Nullable
    String getId();

    /**
     * Return a name for the deployed application that this context belongs to.
     * @return a name for the deployed application, or the empty String by default
     */
    String getApplicationName();

    void refresh();

    Properties getConfig();
}
